package java学习.第02章_变量与运算符;

/**
 * 当容量小的和容量大的变量作运算值时
 * 自动转换成容量大的
 * 容量小 表示表达的数值大小
 * 如float(4字节) >long（8字节）
 */
public class C_基本数据类型转换 {
    public static void main(String[] args) {
        //强制类型转换
        double d1 = 12.5;
        int i = (int) d1;//强制转换  会损失精度
        System.out.println(d1);
        System.out.println(i);
        int ii = 128;
        byte b = (byte) ii;
        System.out.println(b);//-128



    }

    private static void 自动转换() {
        //特殊：
        //byte short char   随意做运算  会直接转为 int

        byte b = 5;
        short s = b;

        char c = '1';

        int i = c;
        long l = i;
        float f = l;
        double d = f;

        long l1 = 5966;//自动类型提升
        long l2 = 5966L;//标准.

        double dd = 85485.788f;//自动类型提升 默认浮点类型为double

        //标识符 命名规则  不能是数字开头
        // 就是因为 5L 表示 5 的long类型数字  ---所以不能数字开头
        System.out.println(d);
        int _awe = 1;
        int ￥ = 1;
        int $ = 1;
//        int _ = 1;//从发行版 9 开始, '_' 为关键字, 不能用作标识符
        System.out.println(￥);
        System.out.println($);
    }
}
